home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / ELECTRON / 1009.ZIP / HAM2.ARC / NGRBEARG.BAS < prev    next >
BASIC Source File  |  1986-05-23  |  965b  |  28 lines

  1. 10 REM GM4ANB 5.14 POINT TO POINT DISTANCE AND BEARING FROM NGRs
  2. 20 PI=3.14159265#:DR=PI/180
  3. 30 DEF FNA(X)=INT(X*10+.5)/10
  4. 40 CLS
  5. 100 PRINT: INPUT"HOME NGR";G$
  6. 110 GOSUB 1000
  7. 120 T1=(N1+5549.73)/6372.37
  8. 130 T2=2*ATN(EXP((E1-400)/6389.32))
  9. 140 GN=ATN(-COS(T2)*SIN(T1)/COS(T1))
  10. 150 HN=N1: HE=E1
  11. 200 PRINT: INPUT "DX NGR";G$
  12. 210 GOSUB 1000
  13. 220 DE=ABS(E1-HE): DN=ABS(N1-HN)
  14. 230 AZ=ATN(DE/DN)
  15. 240 IF E1<HE THEN AZ=-AZ
  16. 250 IF N1<HN THEN AZ=PI-AZ
  17. 260 IF AZ<0 THEN AZ=AZ+2*PI
  18. 270 PRINT: PRINT " DISTANCE (KM)=";FNA(SQR(DE*DE+DN*DN))
  19. 280 PRINT: PRINT "BEARING (GRID)=";FNA(AZ/DR)
  20. 290 PRINT: PRINT "BEARING (TRUE)=";FNA((AZ+GN)/DR)
  21. 300 GOTO 200
  22. 1000 E1=VAL(MID$(G$,3,LEN(G$)-5))/10: N1=VAL(RIGHT$(G$,3))/10
  23. 1010 T1=ASC(LEFT$(G$,1))-ASC("A"): IF T1>8 THEN T1=T1-1
  24. 1020 T2=INT(T1/5): N1=N1+500*(3-T2):E1=E1+500*(T1-5*T2-2)
  25. 1030 T1=ASC(MID$(G$,2,1))-ASC("A"): IF T1>8 THEN T1=T1-1
  26. 1040 T2=INT(T1/5): N1=N1+100*(4-T2): E1=E1+100*(T1-5*T2)
  27. 1050 RETURN
  28.